package cn.vehicle.service;

import cn.vehicle.domains.entity.SysUserRoleEntity;

import java.util.List;

/**
 * 用户角色关系服务接口
 * <p>
 * 定义系统中用户与角色关联关系的核心业务操作。
 * 该接口作为业务层与持久层之间的抽象层，用于维护用户角色映射关系。
 * </p>
 *
 * <p>主要职责：</p>
 * <ul>
 *   <li>提供用户与角色的绑定与解绑操作；</li>
 *   <li>支持批量插入用户角色关系；</li>
 *   <li>确保用户角色数据的一致性与原子性。</li>
 * </ul>
 */
public interface SysUserRoleService {
    /**
     * 新增或更新用户角色关系
     * <p>删除指定用户的旧角色记录，并批量插入新的角色绑定。</p>
     *
     * @param userId 用户主键ID
     * @param list 用户角色关系列表
     */
    // 定义用户角色绑定的核心方法，由实现类负责落库与事务控制
    void addUserRoles(Long userId, List<SysUserRoleEntity> list);


}
